<%-- 
    Document   : doreservedtickets
    Created on : Dec 18, 2012, 11:12:28 PM
    Author     : alexxxey
--%>

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Booking Tickets Web Appliaction</title>
    </head>
    <body>
        <h3>Резервирование билетов</h3>
        <%@page import="javax.naming.*, bookingtickets.*" %>
        <%!
            BookingTicketsSessionRemote ejbRef = null;     
            int pasport;                                
        %>        
        <%            
            Trip trip = null;  
            Integer[] places = null;
            String firstName = null;
            String lastName = null;
            boolean dataVaid = false;
            
            InitialContext ic = new InitialContext();
            ejbRef = (BookingTicketsSessionRemote)ic.lookup("bookingtickets.BookingTicketsSessionRemote");                         
            
            // Маршрут, на который добавляются билеты
            Integer tripIdStr = new Integer(request.getParameter("trip"));
            trip = ejbRef.findTripById(tripIdStr);   

            // Список резервируемых мест                       
            String[] placesStr = request.getParameterValues("places");                      
            places = new Integer[placesStr.length];
            for (int i=0; i<places.length; ++i)
            {
                places[i] = new Integer(placesStr[i]);                
            }           
            
            // Личные данные
            firstName = new String(request.getParameter("txtFirstName").getBytes("ISO-8859-1"),"UTF-8");
            lastName = new String(request.getParameter("txtLastName").getBytes("ISO-8859-1"),"UTF-8");
            
            if (firstName.equals("") || lastName.equals(""))
            {
                %><h4>Данные для поиска введены некорректно!</h4><%
                dataVaid = false;
            }
            else
            {
                try
                {
                    pasport = new Integer(new String(request.getParameter("txtPasport").getBytes("ISO-8859-1"),"UTF-8"));            
                    dataVaid = true;
                }
                catch (NumberFormatException e)
                {
                    %><h4>Данные для поиска введены некорректно!</h4><%
                }
            }
            
            // Если все данные введены верно, то резервируем билет
            if (dataVaid)
            {
                for (Integer place : places)
                {
                    ejbRef.reserveTickets(trip.getId(), place, firstName, lastName, pasport);
                }                
                
                %><h4>Билеты зарезервированы!</h4><%
            }
        %>
        
        <p><a href="findTrip.jsp">Поиск маршрутов</a></p>
        <p><a href="index.jsp">Главная страница</a></p>
        
    </body>
</html>
